import type { AxiosRequestConfig, AxiosResponse } from 'axios'

export interface HYRequestInterceptors<T = AxiosResponse> {
  requestInterceptor?: (config: AxiosRequestConfig) => AxiosRequestConfig
  requestInterceptorCatch?: (error: any) => any
  responseInterceptor?: (res: T) => T
  responseInterceptorCatch?: (error: any) => any
}

// export interface HYRequestConfig extends AxiosRequestConfig {
//   interceptors?: HYRequestInterceptors
//   // 多添加这个类型（有些接口需要loading有些不需要）
//   showLoadinng?: boolean
// }
export interface HYRequestConfig<T = AxiosResponse> extends AxiosRequestConfig {
  interceptors?: HYRequestInterceptors<T>
  //   // 多添加这个类型（有些接口需要loading有些不需要）
  showLoading?: boolean
}
